Remove misaddressing of cpu_info in PERCPU data
authorydong@localhost.localdomain <ydong@localhost.localdomain>
Fri, 12 Aug 2005 03:16:25 +0000 (11:16 +0800)
committerydong@localhost.localdomain <ydong@localhost.localdomain>
Fri, 12 Aug 2005 03:16:25 +0000 (11:16 +0800)
signed-off-by Eddie dong <eddie.dong@intel.com>

xen/arch/ia64/hyperprivop.S
xen/arch/ia64/ivt.S

index c97f332c7fc751e2b643dfa40a5d10c91602685d..0ee9f61af35fc4dcfe372c2cf23bf8cf1419e65a 100644 (file)
@@ -306,7 +306,7 @@ GLOBAL_ENTRY(fast_tick_reflect)
        mov r28=IA64_TIMER_VECTOR;;
        cmp.ne p6,p0=r28,r30
 (p6)   br.cond.spnt.few rp;;
-       movl r20=(PERCPU_ADDR)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
+       movl r20=THIS_CPU(cpu_info)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
        ld8 r26=[r20];;
        mov r27=ar.itc;;
        adds r27=200,r27;;      // safety margin
@@ -1305,7 +1305,7 @@ ENTRY(hyper_set_itm)
        adds r21=1,r21;;
        st8 [r20]=r21;;
 #endif
-       movl r20=(PERCPU_ADDR)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
+       movl r20=THIS_CPU(cpu_info)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
        ld8 r21=[r20];;
        mov r20=IA64_KR(CURRENT);;
        adds r20=IA64_VCPU_DOMAIN_ITM_OFFSET,r20;;
index 1ac5593068184d8b194a1051b3ad52e566770e14..67e16cff77c21c8accb103c72f0663a0cfba833f 100644 (file)
@@ -934,7 +934,7 @@ ENTRY(interrupt)
        // FIXME: this is a hack... use cpuinfo.ksoftirqd because its
        // not used anywhere else and we need a place to stash ivr and
        // there's no registers available unused by SAVE_MIN/REST
-       movl r29=(PERCPU_ADDR)+IA64_CPUINFO_KSOFTIRQD_OFFSET;;
+       movl r29=THIS_CPU(cpu_info)+IA64_CPUINFO_KSOFTIRQD_OFFSET;;
        st8 [r29]=r30;;
        movl r28=slow_interrupt;;
        mov r29=rp;;
@@ -954,7 +954,7 @@ slow_interrupt:
        ;;
        alloc r14=ar.pfs,0,0,2,0 // must be first in an insn group
 #ifdef XEN
-       movl out0=(PERCPU_ADDR)+IA64_CPUINFO_KSOFTIRQD_OFFSET;;
+       movl out0=THIS_CPU(cpu_info)+IA64_CPUINFO_KSOFTIRQD_OFFSET;;
        ld8 out0=[out0];;
 #else
        mov out0=cr.ivr         // pass cr.ivr as first arg